/**
 * 文本格式化
 * 负责文本格式化
 */

const { ipcRenderer } = require('electron');
const { showToast } = require('../../common/show-toast');

function initialize() {
    console.log('初始化文本格式化...');
    const inputText = document.getElementById('inputText');
    const outputText = document.getElementById('outputText');
    const formatBtn = document.getElementById('formatBtn');
    const copyBtn = document.getElementById('copyBtn');
    const clearBtn = document.getElementById('clearBtn');

    // 格式化文本
    formatBtn.addEventListener('click', function () {
        const text = inputText.value.trim();
        if (!text) {
            showToast('请输入要格式化的文本！', 'error');
            return;
        }

        // 按行分割文本
        const lines = text.split('\n');

        // 过滤空行和只有空白字符的行
        const nonEmptyLines = lines.filter(line => line.trim().length > 0);

        // 格式化每行，添加单引号和逗号
        const formattedLines = nonEmptyLines.map(line => {
            // 去除行首尾的空白字符
            const trimmedLine = line.trim();
            // 转义单引号（如果值中包含单引号）
            const escapedLine = trimmedLine.replace(/'/g, "''");
            return `'${escapedLine}'`;
        });

        // 合并为SQL IN语句格式
        const result = 'IN ('+formattedLines.join(', ') + ')';

        outputText.value = result;
    });

    // 复制结果
    copyBtn.addEventListener('click', function () {
        if (!outputText.value) {
            showToast('没有可复制的内容！', 'error');
            return;
        }

        outputText.select();
        document.execCommand('copy');

        // 显示复制成功的提示
        copyBtn.textContent = '已复制';
        showToast('已复制！', 'success');
        setTimeout(() => {
            copyBtn.textContent = '复制结果';
        }, 2000);
    });

    // 清空输入和输出
    clearBtn.addEventListener('click', function () {
        inputText.value = '';
        outputText.value = '';
        inputText.focus();
    });

}

// 导出模块
module.exports = {
    initialize
};